package dancetiktokenumsmongo

const (
	DanceComposeToolChangeLogChangeTypeAdd     = 1 //增加
	DanceComposeToolChangeLogChangeTypeReduced = 2 //减少

	DanceComposeToolChangeLogSourceDirectDrawPrize                        = 1  //抽奖直接获得
	DanceComposeToolChangeLogSourceRankSingle                             = 2  //单人世界榜获得
	DanceComposeToolChangeLogSourceRankCouple                             = 3  //双人排行榜获得
	DanceComposeToolChangeLogSourceHistoryOnceClear                       = 4  //双人历史排行榜获得
	DanceComposeToolChangeLogSourcePieceExchange                          = 5  //碎片兑换获得
	DanceComposeToolChangeLogSourcePropResolve                            = 6  //道具分解
	DanceComposeToolChangeLogSourceBuyShopMallGoodAdd                     = 7  // 购买商品增加
	DanceComposeToolChangeLogSourceOpenTreasureBoxAdd                     = 8  // 开宝箱增加
	DanceComposeToolChangeLogSourceEndMiningAdd                           = 9  // 结束挖矿发放奖励
	DanceComposeToolChangeLogSourceTripActivity                           = 10 // 旅途活动
	DanceComposeToolChangeLogSourcePropValidityPeriodGive                 = 11 //道具时长赠送
	DanceComposeToolChangeLogSourcePetPowerRankingAdd                     = 12 // 用户战力结算奖励
	DanceComposeToolChangeLogSourceSwipeGiftsGivePropsActivity            = 13 // 刷礼物送道具活动
	DanceComposeToolChangeLogSourceMysticalShopRoomBuy                    = 14 // 神秘商店直播间购买
	DanceComposeToolChangeLogSourceAnniversaryActivityFortuneCardPrize    = 15 // 周年庆活动集福卡奖励
	DanceComposeToolChangeLogSourceAnniversaryActivityFortuneCardCompound = 16 // 周年庆活动合成福卡
	DanceComposeToolChangeLogSourceScoreActivity                          = 17 // 星光值活动
	DanceComposeToolChangeLogSourceHourRank                               = 18 // 小时榜发放
	DanceComposeToolChangeLogSourceDayRank                                = 19 // 日榜发放
	DanceComposeToolChangeLogSourceWeekRank                               = 20 // 周榜发放
	DanceComposeToolChangeLogSourceOnHoldEndReward                        = 21 // 队伍挂机结束发放奖励
	DanceComposeToolChangeLogSourceUserPetAtkBossReward                   = 22 // 打boss伤害奖励
	DanceComposeToolChangeLogSourcePetBossPieceExchange                   = 23 // 宠物boss商店碎片兑换获得
	DanceComposeToolChangeLogSourcePetBossAtkRankReward                   = 24 // 打boss伤害排名发放奖励
	DanceComposeToolChangeLogSourcePetBossAtkDmgReward                    = 25 // 打boss伤害档位发放奖励
	DanceComposeToolChangeLogSourceDrawPrizeDayTaskReward                 = 26 // 抽奖每日任务送奖励
	DanceComposeToolChangeLogSourcePropValidityPeriodBatchGive            = 27 // 道具时长批量赠送
	DanceComposeToolChangeLogSourceMiniGamePropResolve                    = 28 // 小游戏道具分解
	DanceComposeToolChangeLogSourceMiniGameBuyShopMallGoodAdd             = 29 // 小游戏购买商品增加
	DanceComposeToolChangeLogSourceMiniGameOpenTreasureBoxAdd             = 30 // 小游戏开宝箱增加
	DanceComposeToolChangeLogSourceDirectNewDrawPrize                     = 31 // 新抽奖活动获得
	//DanceComposeClothesChangeLogSourcePrizeDrawCPGift                     = 32 // 新抽奖活动Cp赠送获得
	DanceComposeToolChangeLogSourceMiniGamePieceExchange                        = 33 //小游戏碎片兑换道具获得
	DanceComposeToolChangeLogSourceConfessionWall                               = 34 //告白墙周榜发放
	DanceComposeToolChangeLogSourceAllGiftWeekRank                              = 35 //全服礼物周榜发放
	DanceComposeToolChangeLogSourceRelationRingGiftDoughnuts                    = 36 //关系戒指
	DanceComposeToolChangeLogSourceMinGameTurntableDrawPrize                    = 37 //小游戏转盘抽奖
	DanceComposeToolChangeLogSourceRingMarriageProposalModelStart               = 38 //戒指求婚模式开启
	DanceComposeToolChangeLogSourceRingMarriageProposalModelFortuneAccomplish   = 39 //戒指求婚模式福气值完成
	DanceComposeToolChangeLogSourceCumulativeSales                              = 40 //累销活动发放
	DanceComposeToolChangeLogSourceRingMarriageEngagementModelStart             = 41 //戒指订婚模式开启
	DanceComposeToolChangeLogSourceRingMarriageEngagementModelFortuneAccomplish = 42 //戒指订婚模式福气值完成
	DanceComposeToolChangeLogSourceHourTopRank                                  = 43 //小时榜活动发放
	DanceComposeToolChangeLogSourceRingMarriedModelStart                        = 44 //戒指结婚模式开启
	DanceComposeToolChangeLogSourceRingMarriedModelFortuneAccomplish            = 45 //戒指结婚模式福气值完成
	DanceComposeToolChangeLogSourceRingProposalHalfModelStart                   = 46 //戒指求婚半价模式开启
	DanceComposeToolChangeLogSourceRingProposalHalfModelFortuneAccomplish       = 47 //戒指求婚半价模式福气值完成
	DanceComposeToolChangeLogSourceDoubleHourTopRank                            = 48 //双人小时榜活动发放
	DanceComposeToolChangeLogSourceMinGameDrawPrizeDayTaskReward                = 49 //抽奖每日任务送奖励(小背包领取)
	DanceComposeToolChangeLogSourceRoseRank                                     = 50 //魅力值排行榜奖励
	DanceComposeToolChangeLogSourceDrawAccumulateNumPrizeChoose                 = 51 //抽奖每期累计次数奖励多选1
)

type DanceComposeToolChangeLogEnums struct {
}

var DanceComposeToolChangeLogEnumsObject DanceComposeToolChangeLogEnums

func (e DanceComposeToolChangeLogEnums) SourceType() []int {
	return []int{
		DanceComposeToolChangeLogSourceDirectDrawPrize,
		DanceComposeToolChangeLogSourceRankSingle,
		DanceComposeToolChangeLogSourceRankCouple,
		DanceComposeToolChangeLogSourceHistoryOnceClear,
		DanceComposeToolChangeLogSourcePieceExchange,
		DanceComposeToolChangeLogSourcePropResolve,
		DanceComposeToolChangeLogSourceBuyShopMallGoodAdd,
		DanceComposeToolChangeLogSourceOpenTreasureBoxAdd,
		DanceComposeToolChangeLogSourceEndMiningAdd,
		DanceComposeToolChangeLogSourceTripActivity,
		DanceComposeToolChangeLogSourcePropValidityPeriodGive,
		DanceComposeToolChangeLogSourcePetPowerRankingAdd,
		DanceComposeToolChangeLogSourceSwipeGiftsGivePropsActivity,
		DanceComposeToolChangeLogSourceMysticalShopRoomBuy,
		DanceComposeToolChangeLogSourceAnniversaryActivityFortuneCardPrize,
		DanceComposeToolChangeLogSourceAnniversaryActivityFortuneCardCompound,
		DanceComposeToolChangeLogSourceScoreActivity,
		DanceComposeToolChangeLogSourceHourRank,
		DanceComposeToolChangeLogSourceDayRank,
		DanceComposeToolChangeLogSourceWeekRank,
		DanceComposeToolChangeLogSourceOnHoldEndReward,
		DanceComposeToolChangeLogSourceUserPetAtkBossReward,
		DanceComposeToolChangeLogSourcePetBossPieceExchange,
		DanceComposeToolChangeLogSourcePetBossAtkRankReward,
		DanceComposeToolChangeLogSourcePetBossAtkDmgReward,
		DanceComposeToolChangeLogSourceDrawPrizeDayTaskReward,
		DanceComposeToolChangeLogSourcePropValidityPeriodBatchGive,
		DanceComposeToolChangeLogSourceMiniGamePropResolve,
		DanceComposeToolChangeLogSourceMiniGameBuyShopMallGoodAdd,
		DanceComposeToolChangeLogSourceMiniGameOpenTreasureBoxAdd,
		DanceComposeToolChangeLogSourceDirectNewDrawPrize,
		//DanceComposeClothesChangeLogSourcePrizeDrawCPGift,
		DanceComposeToolChangeLogSourceMiniGamePieceExchange,
		DanceComposeToolChangeLogSourceConfessionWall,
		DanceComposeToolChangeLogSourceAllGiftWeekRank,
		DanceComposeToolChangeLogSourceRelationRingGiftDoughnuts,
		DanceComposeToolChangeLogSourceMinGameTurntableDrawPrize,
		DanceComposeToolChangeLogSourceRingMarriageProposalModelStart,
		DanceComposeToolChangeLogSourceRingMarriageProposalModelFortuneAccomplish,
		DanceComposeToolChangeLogSourceCumulativeSales,
		DanceComposeToolChangeLogSourceRingMarriageEngagementModelStart,
		DanceComposeToolChangeLogSourceRingMarriageEngagementModelFortuneAccomplish,
		DanceComposeToolChangeLogSourceHourTopRank,
		DanceComposeToolChangeLogSourceRingMarriedModelStart,
		DanceComposeToolChangeLogSourceRingMarriedModelFortuneAccomplish,
		DanceComposeToolChangeLogSourceRingProposalHalfModelStart,
		DanceComposeToolChangeLogSourceRingProposalHalfModelFortuneAccomplish,
		DanceComposeToolChangeLogSourceDoubleHourTopRank,
		DanceComposeToolChangeLogSourceMinGameDrawPrizeDayTaskReward,
		DanceComposeToolChangeLogSourceRoseRank,
		DanceComposeToolChangeLogSourceDrawAccumulateNumPrizeChoose,
	}
}

func (e DanceComposeToolChangeLogEnums) SourceMap() map[int]string {
	m := make(map[int]string)
	for _, s := range e.SourceType() {
		m[s] = e.SourceString(s)
	}
	return m
}

func (e DanceComposeToolChangeLogEnums) SourceString(tag int) string {
	switch tag {
	case DanceComposeToolChangeLogSourceDirectDrawPrize:
		return "抽奖直接获得"
	case DanceComposeToolChangeLogSourceRankSingle:
		return "单人世界榜获得"
	case DanceComposeToolChangeLogSourceRankCouple:
		return "双人排行榜获得"
	case DanceComposeToolChangeLogSourceHistoryOnceClear:
		return "双人历史排行榜获得"
	case DanceComposeToolChangeLogSourcePieceExchange:
		return "碎片兑换获得"
	case DanceComposeToolChangeLogSourcePropResolve:
		return "道具分解"
	case DanceComposeToolChangeLogSourceBuyShopMallGoodAdd:
		return "购买商品增加"
	case DanceComposeToolChangeLogSourceOpenTreasureBoxAdd:
		return "开宝箱增加"
	case DanceComposeToolChangeLogSourceEndMiningAdd:
		return "结束挖矿发放奖励"
	case DanceComposeToolChangeLogSourceTripActivity:
		return "旅途活动"
	case DanceComposeToolChangeLogSourcePropValidityPeriodGive:
		return "道具时长赠送"
	case DanceComposeToolChangeLogSourcePetPowerRankingAdd:
		return "战力结算发放"
	case DanceComposeToolChangeLogSourceSwipeGiftsGivePropsActivity:
		return "刷礼物送道具活动"
	case DanceComposeToolChangeLogSourceMysticalShopRoomBuy:
		return "神秘商店直播间购买"
	case DanceComposeToolChangeLogSourceAnniversaryActivityFortuneCardPrize:
		return "周年庆活动集福卡奖励"
	case DanceComposeToolChangeLogSourceAnniversaryActivityFortuneCardCompound:
		return "周年庆活动合成福卡"
	case DanceComposeToolChangeLogSourceScoreActivity:
		return "星光值活动"
	case DanceComposeToolChangeLogSourceHourRank:
		return "小时榜发放"
	case DanceComposeToolChangeLogSourceDayRank:
		return "日榜发放"
	case DanceComposeToolChangeLogSourceWeekRank:
		return "周榜发放"
	case DanceComposeToolChangeLogSourceOnHoldEndReward:
		return "队伍挂机结束发放奖励"
	case DanceComposeToolChangeLogSourceUserPetAtkBossReward:
		return "打boss伤害奖励"
	case DanceComposeToolChangeLogSourcePetBossPieceExchange:
		return "宠物boss商店碎片兑换获得"
	case DanceComposeToolChangeLogSourcePetBossAtkRankReward:
		return "打boss伤害排名发放奖励"
	case DanceComposeToolChangeLogSourcePetBossAtkDmgReward:
		return "打boss伤害档位发放奖励"
	case DanceComposeToolChangeLogSourceDrawPrizeDayTaskReward:
		return "抽奖每日任务送奖励"
	case DanceComposeToolChangeLogSourcePropValidityPeriodBatchGive:
		return "道具时长批量赠送"
	case DanceComposeToolChangeLogSourceMiniGamePropResolve:
		return "小游戏道具分解"
	case DanceComposeToolChangeLogSourceMiniGameBuyShopMallGoodAdd:
		return "小游戏购买商品增加"
	case DanceComposeToolChangeLogSourceMiniGameOpenTreasureBoxAdd:
		return "小游戏开宝箱增加"
	case DanceComposeToolChangeLogSourceDirectNewDrawPrize:
		return "新抽奖活动获得"
	//case DanceComposeClothesChangeLogSourcePrizeDrawCPGift:
	//	return "新抽奖活动Cp赠送获得"
	case DanceComposeToolChangeLogSourceMiniGamePieceExchange:
		return "小游戏碎片兑换道具获得"
	case DanceComposeToolChangeLogSourceConfessionWall:
		return "告白墙周榜发放"
	case DanceComposeToolChangeLogSourceAllGiftWeekRank:
		return "全服礼物周榜发放"
	case DanceComposeToolChangeLogSourceRelationRingGiftDoughnuts:
		return "关系戒指"
	case DanceComposeToolChangeLogSourceMinGameTurntableDrawPrize:
		return "小游戏转盘抽奖"
	case DanceComposeToolChangeLogSourceRingMarriageProposalModelStart:
		return "戒指求婚模式开启"
	case DanceComposeToolChangeLogSourceRingMarriageProposalModelFortuneAccomplish:
		return "戒指求婚模式福气值完成"
	case DanceComposeToolChangeLogSourceCumulativeSales:
		return "累销活动发放"
	case DanceComposeToolChangeLogSourceRingMarriageEngagementModelStart:
		return "戒指订婚模式开启"
	case DanceComposeToolChangeLogSourceRingMarriageEngagementModelFortuneAccomplish:
		return "戒指订婚模式福气值完成"
	case DanceComposeToolChangeLogSourceHourTopRank:
		return "小时榜活动发放"
	case DanceComposeToolChangeLogSourceRingMarriedModelStart:
		return "戒指结婚模式开启"
	case DanceComposeToolChangeLogSourceRingMarriedModelFortuneAccomplish:
		return "戒指结婚模式福气值完成"
	case DanceComposeToolChangeLogSourceRingProposalHalfModelStart:
		return "戒指求婚半价模式开启"
	case DanceComposeToolChangeLogSourceRingProposalHalfModelFortuneAccomplish:
		return "戒指求婚半价模式福气值完成"
	case DanceComposeToolChangeLogSourceDoubleHourTopRank:
		return "双人小时榜活动发放"
	case DanceComposeToolChangeLogSourceMinGameDrawPrizeDayTaskReward:
		return "抽奖每日任务送奖励(小背包领取)"
	case DanceComposeToolChangeLogSourceRoseRank:
		return "魅力值排行榜奖励"
	case DanceComposeToolChangeLogSourceDrawAccumulateNumPrizeChoose:
		return "抽奖每期累计次数奖励多选1"
	default:
		return "其他"
	}
}

func (e DanceComposeToolChangeLogEnums) ChangeType() []int {
	return []int{
		DanceComposeToolChangeLogChangeTypeAdd,
		DanceComposeToolChangeLogChangeTypeReduced,
	}
}

func (e DanceComposeToolChangeLogEnums) ChangeTypeMap() map[int]string {
	m := make(map[int]string)
	for _, s := range e.ChangeType() {
		m[s] = e.ChangeTypeString(s)
	}
	return m
}

func (e DanceComposeToolChangeLogEnums) ChangeTypeString(tag int) string {
	switch tag {
	case DanceComposeToolChangeLogChangeTypeAdd:
		return "增加"
	case DanceComposeToolChangeLogChangeTypeReduced:
		return "减少"
	default:
		return "其他"
	}
}
